1329A - Dreamoon Likes Coloring - CodeForces Solution


constructive algorithms greedy implementation math *1800

Please click on ads to support us..

C++ Code:

#include<cstdio>
#include<algorithm>
using namespace std;
int a[100005],b[100005];
int main(){
	int n,m,i;
	long long sum=0;
	scanf("%d%d",&n,&m);
	b[m+1]=2147483647; 
	for(i=1;i<=m;i++){
		scanf("%d",&a[i]);
		sum+=a[i];
		if(a[i]+i>n+1){
			printf("-1");
			return 0;
		}
	}
	if(sum<n){
		printf("-1");
		return 0;
	}
	for(i=m;i;i--){
		b[i]=min(n-a[i]+1,b[i+1]-1);
	}
	b[1]=1;
	for(i=2;i<=m;i++){
		if(b[i-1]+a[i-1]>=b[i]){
			break;
		}
		b[i]=b[i-1]+a[i-1];
	}
	for(i=1;i<=m;i++){
		printf("%d ",b[i]);
	}
	return 0;
}


Comments

Submit
0 Comments
More Questions

1608B - Build the Permutation
1505A - Is it rated - 2
169A - Chores
765A - Neverending competitions
1303A - Erasing Zeroes
1005B - Delete from the Left
94A - Restoring Password
1529B - Sifid and Strange Subsequences
1455C - Ping-pong
1644C - Increase Subarray Sums
1433A - Boring Apartments
1428B - Belted Rooms
519B - A and B and Compilation Errors
1152B - Neko Performs Cat Furrier Transform
1411A - In-game Chat
119A - Epic Game
703A - Mishka and Game
1504C - Balance the Bits
988A - Diverse Team
1312B - Bogosort
1616B - Mirror in the String
1660C - Get an Even String
489B - BerSU Ball
977C - Less or Equal
1505C - Fibonacci Words
1660A - Vasya and Coins
1660E - Matrix and Shifts
1293B - JOE is on TV
1584A - Mathematical Addition
1660B - Vlad and Candies